package cn.sh.yhk.service.basic;

import cn.sh.yhk.model.basic.SUser;
import cn.sh.yhk.vo.BasicVo;
import cn.sh.yhk.vo.SUserVo;

public interface UserService {
    /**
     * 用户登陆
     *
     * @param sUser
     * @return
     */
    BasicVo login(SUser sUser);

    /**
     * 用户认证
     * AuthorSecurity
     *
     * @param userName
     * @return
     */
    SUserVo securityLogin(String userName);

    /**
     * 获取用户信息
     *
     * @param userId
     * @return
     */
    BasicVo getUser(Long userId);

    /**
     * 用户创建
     *
     * @param userVo
     * @return
     */
    BasicVo createUser(SUserVo userVo, String groups, String menus);

    /**
     * 用户创建
     *
     * @param userVo
     * @return
     */
    BasicVo updateUser(SUserVo userVo, String groups, String menus);

    /**
     * 用户删除
     *
     * @param userId
     * @return
     */
    BasicVo deleteUser(Long userId);

    /**
     * 用户列表
     *
     * @param userVo
     * @return
     */
    BasicVo getUserPage(SUserVo userVo);


    /**
     * 在线用户数
     *
     * @return
     */
    BasicVo getSessionUserPage();

    /**
     * 创建用户与组关联
     *
     * @param userId
     * @param groupId
     * @return
     */
    BasicVo createUserGroup(Long userId, Long groupId);


    /**
     * 用户退出过去清空数据库sessionid
     *
     * @param sessionId
     */
    public void truncateSesion(String sessionId);
}
